package com.hk.commons.vo;

import com.hk.commons.ConstantPayment;
import com.hk.commons.DateUtil;
import com.hk.commons.StringHelper;
import com.hk.commons.enm.ConfirmStatusEnum;
import com.hk.commons.enm.PayStatusEnum;
import com.hk.commons.entity.order.OrderInfo;
import com.hk.commons.entity.product.Company;
import com.hk.commons.entity.view.OrderView;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.Serializable;
import java.math.BigDecimal;


public class OrderStrMsg implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5894944587257036381L;

	private String id;//订单ID
	private String amount;//订单支付金额
	private String niggerAmount;//订单折标金额
	private String payStatus = null;//支付状态：2
	private String payStatusStr = "";//支付状态：已支付
	private String confirmStatus = "";//确认状态 ：2
	private String confirmStatusStr = "";//支付状态 ：已确认
	private String userId;//用户ID
	private String userName;//用户姓名
	private String userPhoneNum;//用户手机号
	private String productId;//产品ID
	private String productCode;//产品编码
	private String productName;//产品名称
	private String productParName;//产品父标名称
	private String productTerm;//产品投资期限
	private String productTopType;//产品一级类型
	private String productCompanyId;//产品发行公司ID
	private String productCompanyName;//产品发行公司名称
	private String financialPlannerId;//理财师ID
	private String financialPlannerName;//理财师姓名
	private String financialPlannerDepName;//理财师部门
	private String financialPlannerPhoneNum;//理财师手机号
	private String orderCreatedOn = "";//订单创建时间
	private String orderCreatedOnStr = "";//订单创建时间2017-01-01
	private String orderConfirmDate = "";//订单确认日
	private String orderConfirmDateStr = "";//订单确认日 2017-01-01
	private String orderTradeDate = "";//起息日
	private String orderTradeDateStr = "";// 起息时间2017-01-01
	private String orderDividendDate = "";//回款日
	private String orderDividendDateStr = "";//回款日 2017-01-01
	private String clearDate =""; //预计清算时间
	private String directional; // 是否定向；0：否 ，1：是
	private String paymentId;//支付ID
	private String paymentUserName;//银行卡用户姓名
	private String paymentBankName;//银行名称
	private String paymentSubBankName;//银行名称
	private String paymentBankNo;//回款银行号
	private String paymentBankCardNo;//回款银行卡号
	private String identity;//身份证号
	private String prodDivendend;// 产品本息
	private String userCardId;// 加息券id
	private String channel;// 渠道名称
	private String channelName;// 渠道名称
	private String orgId;// 机构id
	private String orgName;// 机构全名
	private String orderType;//订单类型
	private String contractTitle;//合同标题
	private String contractUrl;//合同Url
	private String contractUrlHTML;
	private String confirmationTitle; //投资确认函 PDF
	private String confirmationPdf; //投资确认函 PDF
	private String confirmationHtml; //投资确认函 HTML
	private String term; //订单投资期限
	private String subBankName;//分行名称
	private String userCardRate; //优惠券收益率
	private String userCardDividend; //优惠券收益
	private String userCardFaceValue; //优惠券面值
	private String prodAddRate;//产品额外加息收益率
	private String addRateDividend; //产品额外加息收益
	private String extraDivendend;// 其它收益
	private String dividend = ""; //订单总的收益 = prodDivendend + extraDivendend；
	private String realPayAmt; //实际付款金额
	private String benefitAmt; //优惠付款金额
	private String payBackAmt; //总回款金额
	private String proRate; //产品收益
	private String extRate; //其它收益  = userCardRate + prodAddRate
	private String totalRate; //总收益率 = proRate + extRate
	private int benefitType; // 订单优惠类型：1,加息券; 2:体验金; 3:代金券
	private String extraTerm; //加息券加息天数
	private Integer closeAccount; // 是否销户（0：末销户，1：已销户）

	public String getUserCardFaceValue() {
		return userCardFaceValue;
	}

	public void setUserCardFaceValue(String userCardFaceValue) {
		this.userCardFaceValue = userCardFaceValue;
	}

	private String kycUrl;
	private String riskLevel;

	public String getExtraTerm() {
		return extraTerm;
	}

	public void setExtraTerm(String extraTerm) {
		this.extraTerm = extraTerm;
	}

	public String getContractTitle() {
		return contractTitle;
	}

	public void setContractTitle(String contractTitle) {
		this.contractTitle = contractTitle;
	}

	public String getRealPayAmt() {
		return realPayAmt;
	}

	public void setRealPayAmt(String realPayAmt) {
		this.realPayAmt = realPayAmt;
	}

	public String getBenefitAmt() {
		return benefitAmt;
	}

	public void setBenefitAmt(String benefitAmt) {
		this.benefitAmt = benefitAmt;
	}

	public String getPayBackAmt() {
		return payBackAmt;
	}

	public void setPayBackAmt(String payBackAmt) {
		this.payBackAmt = payBackAmt;
	}

	public String getProRate() {
		return proRate;
	}

	public void setProRate(String proRate) {
		this.proRate = proRate;
	}

	public String getExtRate() {
		return extRate;
	}

	public void setExtRate(String extRate) {
		this.extRate = extRate;
	}

	public String getTotalRate() {
		return totalRate;
	}

	public void setTotalRate(String totalRate) {
		this.totalRate = totalRate;
	}

	public int getBenefitType() {
		return benefitType;
	}

	public void setBenefitType(int benefitType) {
		this.benefitType = benefitType;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getOrderType() {
		return orderType;
	}

	public void setOrderType(String orderType) {
		this.orderType = orderType;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(String payStatus) {
		this.payStatus = payStatus;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserPhoneNum() {
		return userPhoneNum;
	}

	public void setUserPhoneNum(String userPhoneNum) {
		this.userPhoneNum = userPhoneNum;
	}

	public String getProductId() {
		return productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getProductCompanyId() {
		return productCompanyId;
	}

	public void setProductCompanyId(String productCompanyId) {
		this.productCompanyId = productCompanyId;
	}

	public String getProductCompanyName() {
		return productCompanyName;
	}

	public void setProductCompanyName(String productCompanyName) {
		this.productCompanyName = productCompanyName;
	}

	public String getFinancialPlannerId() {
		return financialPlannerId;
	}

	public void setFinancialPlannerId(String financialPlannerId) {
		this.financialPlannerId = financialPlannerId;
	}

	public String getFinancialPlannerName() {
		return financialPlannerName;
	}

	public void setFinancialPlannerName(String financialPlannerName) {
		this.financialPlannerName = financialPlannerName;
	}

	public String getFinancialPlannerDepName() {
		return financialPlannerDepName;
	}

	public void setFinancialPlannerDepName(String financialPlannerDepName) {
		this.financialPlannerDepName = financialPlannerDepName;
	}

	public String getFinancialPlannerPhoneNum() {
		return financialPlannerPhoneNum;
	}

	public String getPayStatusStr() {
		return payStatusStr;
	}

	public void setPayStatusStr(String payStatusStr) {
		this.payStatusStr = payStatusStr;
	}

	public String getConfirmStatusStr() {
		return confirmStatusStr;
	}

	public void setConfirmStatusStr(String confirmStatusStr) {
		this.confirmStatusStr = confirmStatusStr;
	}

	public String getOrderCreatedOnStr() {
		return orderCreatedOnStr;
	}

	public void setOrderCreatedOnStr(String orderCreatedOnStr) {
		this.orderCreatedOnStr = orderCreatedOnStr;
	}

	public String getOrderConfirmDateStr() {
		return orderConfirmDateStr;
	}

	public void setOrderConfirmDateStr(String orderConfirmDateStr) {
		this.orderConfirmDateStr = orderConfirmDateStr;
	}

	public String getOrderTradeDateStr() {
		return orderTradeDateStr;
	}

	public void setOrderTradeDateStr(String orderTradeDateStr) {
		this.orderTradeDateStr = orderTradeDateStr;
	}

	public String getOrderDividendDateStr() {
		return orderDividendDateStr;
	}

	public void setOrderDividendDateStr(String orderDividendDateStr) {
		this.orderDividendDateStr = orderDividendDateStr;
	}

	public String getPaymentUserName() {
		return paymentUserName;
	}

	public void setPaymentUserName(String paymentUserName) {
		this.paymentUserName = paymentUserName;
	}

	public String getPaymentBankName() {
		return paymentBankName;
	}

	public void setPaymentBankName(String paymentBankName) {
		this.paymentBankName = paymentBankName;
	}

	public String getPaymentBankNo() {
		return paymentBankNo;
	}

	public void setPaymentBankNo(String paymentBankNo) {
		this.paymentBankNo = paymentBankNo;
	}

	public void setFinancialPlannerPhoneNum(String financialPlannerPhoneNum) {
		this.financialPlannerPhoneNum = financialPlannerPhoneNum;
	}

	public String getOrderCreatedOn() {
		return orderCreatedOn;
	}

	public void setOrderCreatedOn(String orderCreatedOn) {
		this.orderCreatedOn = orderCreatedOn;
	}

	public String getOrderConfirmDate() {
		return orderConfirmDate;
	}

	public void setOrderConfirmDate(String orderConfirmDate) {
		this.orderConfirmDate = orderConfirmDate;
	}

	public String getOrderDividendDate() {
		return orderDividendDate;
	}

	public void setOrderDividendDate(String orderDividendDate) {
		this.orderDividendDate = orderDividendDate;
	}

	public String getDividend() {
		return dividend;
	}

	public void setDividend(String dividend) {
		this.dividend = dividend;
	}

	public String getOrderTradeDate() {
		return orderTradeDate;
	}

	public void setOrderTradeDate(String orderTradeDate) {
		this.orderTradeDate = orderTradeDate;
	}

	public String getPaymentBankCardNo() {
		return paymentBankCardNo;
	}

	public void setPaymentBankCardNo(String paymentBankCardNo) {
		this.paymentBankCardNo = paymentBankCardNo;
	}

	public String getProductTerm() {
		return productTerm;
	}

	public void setProductTerm(String productTerm) {
		this.productTerm = productTerm;
	}

	public String getConfirmStatus() {
		return confirmStatus;
	}

	public void setConfirmStatus(String confirmStatus) {
		this.confirmStatus = confirmStatus;
	}

	public String getProductTopType() {
		return productTopType;
	}

	public void setProductTopType(String productTopType) {
		this.productTopType = productTopType;
	}

	public String getPaymentId() {
		return paymentId;
	}

	public void setPaymentId(String paymentId) {
		this.paymentId = paymentId;
	}

	public String getExtraDivendend() {
		return extraDivendend;
	}

	public void setExtraDivendend(String extraDivendend) {
		this.extraDivendend = extraDivendend;
	}

	public String getProdDivendend() {
		return prodDivendend;
	}

	public void setProdDivendend(String prodDivendend) {
		this.prodDivendend = prodDivendend;
	}

	public String getUserCardId() {
		return userCardId;
	}

	public void setUserCardId(String userCardId) {
		this.userCardId = userCardId;
	}

	public String getChannelName() {
		return channelName;
	}

	public void setChannelName(String channelName) {
		this.channelName = channelName;
	}

	public String getOrgId() {
		return orgId;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	public String getIdentity() {
		return identity;
	}

	public void setIdentity(String identity) {
		this.identity = identity;
	}

	public String getNiggerAmount() {
		return niggerAmount;
	}

	public void setNiggerAmount(String niggerAmount) {
		this.niggerAmount = niggerAmount;
	}

	public String getContractUrl() {
		return contractUrl;
	}

	public void setContractUrl(String contractUrl) {
		this.contractUrl = contractUrl;
	}
	public String getConfirmationPdf() {
		return confirmationPdf;
	}

	public void setConfirmationPdf(String confirmationPdf) {
		this.confirmationPdf = confirmationPdf;
	}

	public String getConfirmationHtml() {
		return confirmationHtml;
	}

	public void setConfirmationHtml(String confirmationHtml) {
		this.confirmationHtml = confirmationHtml;
	}

	public String getTerm() {
		return term;
	}

	public void setTerm(String term) {
		this.term = term;
	}

	public String getSubBankName() {
		return subBankName;
	}

	public void setSubBankName(String subBankName) {
		this.subBankName = subBankName;
	}

	public String getContractUrlHTML() {
		return contractUrlHTML;
	}

	public void setContractUrlHTML(String contractUrlHTML) {
		this.contractUrlHTML = contractUrlHTML;
	}

	public String getUserCardRate() {
		return userCardRate;
	}

	public void setUserCardRate(String userCardRate) {
		this.userCardRate = userCardRate;
	}

	public String getUserCardDividend() {
		return userCardDividend;
	}

	public void setUserCardDividend(String userCardDividend) {
		this.userCardDividend = userCardDividend;
	}

	public String getProdAddRate() {
		return prodAddRate;
	}

	public void setProdAddRate(String prodAddRate) {
		this.prodAddRate = prodAddRate;
	}

	public String getAddRateDividend() {
		return addRateDividend;
	}

	public void setAddRateDividend(String addRateDividend) {
		this.addRateDividend = addRateDividend;
	}


	public String getProductParName() {
		return productParName;
	}

	public void setProductParName(String productParName) {
		this.productParName = productParName;
	}

	public String getConfirmationTitle() {
		return confirmationTitle;
	}

	public void setConfirmationTitle(String confirmationTitle) {
		this.confirmationTitle = confirmationTitle;
	}

	public OrderStrMsg() {

	}

	public String getClearDate() {
		return clearDate;
	}

	public void setClearDate(String clearDate) {
		this.clearDate = clearDate;
	}

	public String getDirectional() {
		return directional;
	}

	public void setDirectional(String directional) {
		this.directional = directional;
	}

	public String getPaymentSubBankName() {
		return paymentSubBankName;
	}

	public void setPaymentSubBankName(String paymentSubBankName) {
		this.paymentSubBankName = paymentSubBankName;
	}

	public String getKycUrl() {
		return kycUrl;
	}

	public void setKycUrl(String kycUrl) {
		this.kycUrl = kycUrl;
	}

	public String getRiskLevel() {
		return riskLevel;
	}

	public void setRiskLevel(String riskLevel) {
		this.riskLevel = riskLevel;
	}

	public Integer getCloseAccount() {
		return closeAccount;
	}

	public void setCloseAccount(Integer closeAccount) {
		this.closeAccount = closeAccount;
	}
}
